Many portable electronic devices that are powered by rechargeable batteries incorporate a “fuel gauge” type indicator, commonly on the graphical user interface, which provides an estimate of the remaining battery charge level. The indicator provides a useful tool that enables a user of the device to monitor the remaining charge level and to estimate when a re-charge may be necessary and/or to modify his/her usage of the device to conserve battery power.
Most fuel gauge SoC indicators display the remaining battery charge level as a percentage of the fully-charged battery capacity, a current value (typically in mAh), or a time to a particular threshold value (e.g. 10% remaining) based on the average historical, or instantaneous, battery discharge rate.
Typically, a SoC indicator provides a 100% reading when the battery is fully charged and 0% when the battery approaches, or reaches, a lower threshold value. The lower threshold value varies from device to device, but is usually a level at which certain background functions of the device are able to operate, such as a battery charge controller circuit. Many modern portable electronic devices comprise “throttling” technology that disables certain features, to conserve battery power, as the SoC falls below a series of threshold values. For example, WiFi can be disabled at one threshold value, the screen brightness may dim at another threshold value etc. Such battery conservation systems are relatively well-known.
Nevertheless, the lowermost threshold value is typically, for a mobile telephone, where the remaining battery voltage drops to a value between 3.2V to 3.0V, say, in the case of a lithium, or lithium polymer 1-cell battery.
The SoC estimation can be performed, in known systems, by two main methods: a “voltage” approach, whereby the voltage is measured and compared with values stored in a look-up table using the impedance to take the voltage drop into account. The reading from the look-up table giving the SoC or remaining capacity; and a “coulomb counter”, whereby the SoC calculation is based on measuring the current flowing into, and out of, the battery through a sense resistor. Summing the “in” and “out” currents yields the total charge contained within the battery, enabling its SoC to be calculated.
These two techniques are often used together using proprietary algorithms to improve the SoC calculation accuracy.
In order to populate the look-up table for the “voltage” method, the battery, or a representative sample of batteries, needs to be tested. In this test, or series of tests, the impedance of the battery is calculated by a so-called “relaxation method”, which involves measuring the battery's impedance after a specified rest time prior to measuring the open-circuit voltage. Experimentally, the specified rest time can be around 1 hour: being the time taken to approach the asymptote. The impedance is then calculated as the ratio of the voltage difference between the minimum voltage reached by the battery under current load and the relaxed voltage after the rest divided by the current load, as set out in Equation 1 below:Zint=(Vrest−Vmin)/ILoad  (Eq. 1)                Where                    Zint is the internal battery impedance            Vrest is the battery voltage after a rest            Vmin is the battery voltage loaded by the current ILoad             Iload is the current load applied to discharge the battery for a while (discharge pulse time depends on the number of points to characterize the battery impedance).                        
One of the main problems, associated with “fuel gauge” type SoC indicators when estimating the remaining capacity of the battery, is the variation of the battery impedance with temperature, which problem becomes even more evident when the ambient temperature is low or very low. Specifically, at low temperatures, the battery capacity reduces considerably, often to near-zero, due to the large increase in battery impedance, which varies inversely with temperature. Therefore, say, if battery is maintained at in ambient conditions of 0° C., the battery temperature will eventually equalize at 0° C. and the impedance could increase by a factor of 10 or more. As a result, a device, such as a mobile telephone, powered by the battery could be used, but the usage time would be reduced drastically because the voltage drop would follow the battery impedance, according to Equation 2 below:Vbat=VOCV−Zint(T)×ILoad  (Eq. 2)                Where                    Vbat is the battery voltage measured            VOCV is the open-circuit voltage of the battery            T is the temperature of the battery            Zint(T) is the internal impedance at the temperature T            ILoad is the current load discharging the battery                        
As such, when the ambient, and hence the battery, temperature falls below a “normal” value, i.e. 20° C. or room temperature, existing “fuel gauge” type SoC algorithms fail to operate predictably, that is to say, their estimation of remaining battery capacity become inaccurate. A need therefore exists for an SoC system and/or method that includes temperature compensation, and in particular, temperature compensation that takes into account the effect of temperature on the battery's impedance.
The current state of the art does this in a number of ways:
Firstly, it is possible, if the device is unlikely to be used in extreme cold conditions, to ignore the effect of temperature. In many cases, this is entirely possible simply by stating an “operational temperature range”, close to room temperature, and providing a caveat to the user that the SoC indication might be inaccurate outside this range. In most consumer applications, where the device, such as a smart phone, is used at room temperature, this solution rarely causes problems.
However, ignoring the effect of temperature is not possible where, for example, the portable device is intended to be used in a critical situation (e.g. for emergency services), where it is designed to be used outdoors and/or in harsh environments (e.g. military grade devices), in relatively high power-consumption devices whereby any over-estimation of the SoC could cause the device to restart or cease to function prematurely, or indeed, for “premium” products whereby an accurate SoC indication is just necessary.
The most common temperature compensation technique involves using a series of look-up tables corresponding to different temperature points or ranges. The device therefore simply needs to take a temperature reading to select the appropriate look-up table to refer to when calculating the SoC. This can provide a sufficiently accurate SoC estimation for most uses. Known SoC methodologies are described, for example, in “Battery management systems—accurate State-of-charge indications for battery-powered applications” by V. Pop et al. (the disclosure of which is incorporated by reference) which describes a model using the EMF-state of charge relationship with a linear approach of each parameter of the model; and in “Battery management systems—Design by modelling” by H. J Bergveld, et al. (the disclosure of which is incorporated by reference), in which the temperature of the battery chemical reaction follows the Arrhenius law and this is applied to a defined model that is a physical model translated into an electrical model. These two last models are difficult to implement in a real situation.
As such, the only existing workable temperature-compensated SoC models make use of a number of look-up tables: the look-up tables, in each case, yielding an estimated SoC value for a given voltage and impedance measurement. However, a separate look-up table is needed for each temperature point or range and this necessarily requires a large number of data points to be included in the set of look-up tables for a given battery and SoC model. While existing systems, utilizing a number of look-up tables can be found to be sufficiently reliable, the population of the look-up tables is a time-consuming task, because each look-up value needs to be calculated separately in tests that can take two hours or more each to complete. This imposes a practical and economic limit on the accuracy and granularity of the look-up tables because the tables need to be re-calculated, ideally, for each battery and SoC model combination. In addition, look-up tables reside in memory, which is a critical consideration when trying to create a small fuel gauge implementation.
A need therefore exists for an alternative and/or an improved temperature-compensated SoC calculator, which preferably does not rely on accurately-calibrated look-up tables to perform temperature compensation.